草庐IT

Swift 枚举评估

全部标签

java - 帮助使用 Java 中的枚举

是否可以让枚举更改其值(从其内部)?也许用代码更容易理解我的意思:enumRate{VeryBad(1),Bad(2),Average(3),Good(4),Excellent(5);privateintrate;privateRate(intrate){this.rate=rate;}publicvoidincreateRating(){//isitpossibletomaketheenumvariableincrease?//thisis,ifrightnowthisenumhasasvalueAverage,aftercallingthis//methodtohaveitchan

c# - 为什么我们不能从 C# 中的枚举实例访问枚举值?

这可能会被否决,但这个问题从昨天开始就一直困扰着我。直到我找到一个链接,然后我才知道我并不是真的疯了哈哈:Enumasinstancevariables我基本上是在问与OP问题相反的问题。鉴于:enumCoffee{BIG,SMALL}publicclassMyClass{privateCoffeecoffee;//Constructoretc.}尽管这是Java并且枚举在两种语言中确实有些不同我不能在C#中执行coffee.BIG或coffee.BIG.SMALL(尽管在阅读时意义不大,考虑到coffee是Coffee类型应该是可能的)? 最佳答案

java - 是否需要 Java 枚举类型的防御副本?

应该返回私有(private)引用类型的所谓“防御副本”。这是为了避免返回私有(private)字段的引用。我想知道私有(private)枚举类型是否有必要。我在某处读到枚举是不可变的引用类型,所以答案应该是“否”。是吗? 最佳答案 枚举不是本质上不可变的——但无论如何你都无法创建防御性副本,因为只有一组固定的实例可用——你有em>返回对现有实例之一的引用,而不是创建新实例。枚举通常应该无论如何都是不可变的,但为了抵消它们本质上不可变的说法:enumBadEnum{INSTANCE;privateintfoo;privateintg

java - 我需要检查枚举元素是否在枚举集中

我是Java新手。我需要检查枚举元素是否在枚举集中。在德尔福中:typeTWeekEnum=(weMonday,weTuesday,weWednesday,weThursday,weFriday,weSaturday,weSunday)TWeekSetEnum=(weSaturday,weSunday)if(weSundayin(TWeekSetEnum))...Java? 最佳答案 您可以通过这种方式定义enum,然后还可以将您的子集创建为它的静态方法。publicenumTWeekEnum{weMonday,weTuesday,

java - 如何在枚举中调用附加方法?

enumEnum1{BIG(8),HUGE(10){publicStringgetName(){return"Huge";}publicStringgetContry(){return"India";}//additionalMethod},OVERWHELMING(16){publicStringgetName(){return"OVERWHELMING";}};privateintounces;publicintgetOunes(){returnounces;}publicStringgetName(){return"Ponds";}Enum1(intounces1){ounces

java - 如何在java中将字符串数组转换为枚举数组

我有一个字符串数组,其中包含从用户那里获取的枚举值。我现在如何将此字符串数组转换为枚举数组,以便可以迭代元素并在其他方法中进一步使用?这需要在Java中完成。基本上我要问的是,例如我是否有这个数组String[]names={"Autumn","Spring","Autumn","Autumn"};我有这个枚举enumSeason{Autumn,Spring;}现在如何将上述字符串类型的数组转换为枚举季节类型的数组? 最佳答案 这是一个完整的代码示例:privatestaticListfoo(Listslist){Listlist=

java - 有没有办法强制您切换 Java 中枚举的所有定义值?

这个问题在这里已经有了答案:Howtoensurecompletenessinanenumswitchatcompiletime?(13个答案)关闭5年前。假设您有一个包含3个值的枚举:enumColors{RED,GREEN,BLUE}你用某种方法切换它的所有值,认为你已经处理了所有情况:switch(colors){caseRED:...caseGREEN:...caseBLUE:...}然后,您向枚举添加一个新值:enumColors{RED,GREEN,BLUE,YELLOW}并且一切仍然可以正常编译,只是您在方法中默默地遗漏了YELLOW的大小写。在这种情况下有没有办法引发编

java - 在 Java bean 中声明枚举变量

我需要将一个枚举变量声明为类成员,并且需要像javabean一样为它定义一个setter和getter。像这样的-publicclassVehicle{privateStringid;privateStringname;enumcolor{RED,GREEN,ANY;}//setterandgetters}现在,我想将颜色属性设置为红色、绿色或其他类中的任何颜色,并想做出相应的决定。 最佳答案 枚举必须公开才能被外界看到:publicclassVehicle{privateStringid;privateStringname;pub

java - 枚举与类加载器

有时您甚至可能不知道您插入代码的环境有不止一个类加载器。在这种情况下,我是否仍然期望操作“==”对枚举值起作用? 最佳答案 多个类加载器可能不是问题,只要枚举只能通过其中一个可用。如果不是这种情况,您将失去枚举的所有好处。顺便说一下,使用equals()也无济于事。下面是Java1.6中Enum.equals(Object)的实现:publicfinalbooleanequals(Objectother){returnthis==other;} 关于java-枚举与类加载器,我们在Sta

java - 比较枚举中的排名

我有以下代表CardRank的枚举publicenumCardRank{DEUCE('2'),TREY('3'),FOUR('4'),FIVE('5'),SIX('6'),SEVEN('7'),EIGHT('8'),NINE('9'),TEN('T'),JACK('J'),QUEEN('Q'),KING('K'),ACE('A');privatecharsymbol;privateCardRank(charsymbol){this.symbol=symbol;}publicchargetSymbol(){returnthis.symbol;}}CardRank以升序表示。我需要比较等级